.viewer-content {
  background-color: black;
  display: grid;
  grid-template-rows: 232px auto;
  grid-template-columns: 1fr;
}

.viewer-section {
  height: calc(100vh - 48px);
  grid-row: 1 / span 2;
  grid-column: 1 / span 1;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  overflow: auto;

  &.fullscreen {
    height: 100vh;
    margin-top: 0px;
  }

  & .viewer-go-prev,
  & .viewer-go-next {
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
    width: 53px;
    z-index: 2;
    .arrow {
      display: none;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      background: $color-gray-50;
      width: 24px;
      height: 24px;
      cursor: pointer;
      fill: $color-gray-30;

      svg {
        width: 12px;
        height: 12px;
      }

      &:hover {
        background: $color-primary;
        fill: $color-black;
      }
    }

    &:hover .arrow {
      display: flex;
    }
  }

  & .viewer-go-next {
    right: 8px;
    width: 46px;
    svg {
      margin-left: 2px;
    }
  }

  & .viewer-go-next.right-bar {
    right: 256px;
  }

  & .viewer-go-prev {
    left: 0;
    padding-left: 29px;
    svg {
      margin-right: 2px;
    }
  }

  & .viewer-go-prev.left-bar {
    left: 256px;
  }

  & .viewer-bottom {
    position: absolute;
    bottom: 8px;
    height: 30px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;

    &.left-bar {
      width: calc(100% - 512px);
    }

    .reset {
      display: flex;
      align-items: center;
      border-radius: 12px;
      background: $color-gray-50;
      width: 24px;
      height: 24px;
      cursor: pointer;
      fill: $color-gray-30;
      margin-left: 29px;

      svg {
        margin-left: 4px;
        width: 15px;
        height: 15px;
      }

      &:hover {
        background: $color-primary;
        fill: $color-black;
      }
    }

    .counter {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      background: $color-gray-50;
      width: 67px;
      height: 25px;
      fill: $color-gray-20;
    }
  }

  & .viewer-wrapper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }

  & .viewer-clipper {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    overflow: hidden;

    svg {
      transform-origin: center;
    }
  }

  & .viewer-wrapper-out {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  & .comments-right-sidebar {
    position: absolute;
    right: 0;
    top: 50px;
    width: 256px;
    height: 100%;
    z-index: 10;
  }

  .empty-state {
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.viewport-container {
  clip-path: inset(0 0 0 0);
  grid-column: 1 / 1;
  grid-row: 1 / 1;

  .not-fixed {
    position: absolute;
  }

  .fixed {
    position: fixed;
    pointer-events: none;

    .frame-children g {
      pointer-events: auto;
    }
  }
}
